// 可以使用的基础类型
// 1. 所有的原生数据类型
let num: number = 123;
let str: string = "hello";
let bool: boolean = true;
let und: undefined = undefined;
let nul: null = null;
let sym: symbol = Symbol();
let bigi: bigint = 123n;
// 2. void
let v: void = undefined; // 一般不使用，void 用于指定函数没有返回值
// 3. 任意类型 any 和 unknown
let anyVal: any = "123";
anyVal = 123;
anyVal = true;
let unknownVal: unknown = "123";
unknownVal = 123;
unknownVal = true;
// any 和 unknown 的区别是 any, TS 对于 any 类型的属性值不报错！ unknown 全报错！
anyVal.toFixed(); // 不会报错，any 类型可以调用任何方法和属性
anyVal.toString();
// unknownVal 访问属性一定会报错！
// unknownVal.toString(); // 哪怕真的存在也报错！
